package com.zzw.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TChargeBoxExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TChargeBoxExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBoxIdIsNull() {
            addCriterion("box_id is null");
            return (Criteria) this;
        }

        public Criteria andBoxIdIsNotNull() {
            addCriterion("box_id is not null");
            return (Criteria) this;
        }

        public Criteria andBoxIdEqualTo(String value) {
            addCriterion("box_id =", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdNotEqualTo(String value) {
            addCriterion("box_id <>", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdGreaterThan(String value) {
            addCriterion("box_id >", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdGreaterThanOrEqualTo(String value) {
            addCriterion("box_id >=", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdLessThan(String value) {
            addCriterion("box_id <", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdLessThanOrEqualTo(String value) {
            addCriterion("box_id <=", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdLike(String value) {
            addCriterion("box_id like", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdNotLike(String value) {
            addCriterion("box_id not like", value, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdIn(List<String> values) {
            addCriterion("box_id in", values, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdNotIn(List<String> values) {
            addCriterion("box_id not in", values, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdBetween(String value1, String value2) {
            addCriterion("box_id between", value1, value2, "boxId");
            return (Criteria) this;
        }

        public Criteria andBoxIdNotBetween(String value1, String value2) {
            addCriterion("box_id not between", value1, value2, "boxId");
            return (Criteria) this;
        }

        public Criteria andModelIdIsNull() {
            addCriterion("model_id is null");
            return (Criteria) this;
        }

        public Criteria andModelIdIsNotNull() {
            addCriterion("model_id is not null");
            return (Criteria) this;
        }

        public Criteria andModelIdEqualTo(String value) {
            addCriterion("model_id =", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdNotEqualTo(String value) {
            addCriterion("model_id <>", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdGreaterThan(String value) {
            addCriterion("model_id >", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdGreaterThanOrEqualTo(String value) {
            addCriterion("model_id >=", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdLessThan(String value) {
            addCriterion("model_id <", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdLessThanOrEqualTo(String value) {
            addCriterion("model_id <=", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdLike(String value) {
            addCriterion("model_id like", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdNotLike(String value) {
            addCriterion("model_id not like", value, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdIn(List<String> values) {
            addCriterion("model_id in", values, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdNotIn(List<String> values) {
            addCriterion("model_id not in", values, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdBetween(String value1, String value2) {
            addCriterion("model_id between", value1, value2, "modelId");
            return (Criteria) this;
        }

        public Criteria andModelIdNotBetween(String value1, String value2) {
            addCriterion("model_id not between", value1, value2, "modelId");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthIsNull() {
            addCriterion("signal_strength is null");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthIsNotNull() {
            addCriterion("signal_strength is not null");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthEqualTo(Integer value) {
            addCriterion("signal_strength =", value, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthNotEqualTo(Integer value) {
            addCriterion("signal_strength <>", value, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthGreaterThan(Integer value) {
            addCriterion("signal_strength >", value, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthGreaterThanOrEqualTo(Integer value) {
            addCriterion("signal_strength >=", value, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthLessThan(Integer value) {
            addCriterion("signal_strength <", value, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthLessThanOrEqualTo(Integer value) {
            addCriterion("signal_strength <=", value, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthIn(List<Integer> values) {
            addCriterion("signal_strength in", values, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthNotIn(List<Integer> values) {
            addCriterion("signal_strength not in", values, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthBetween(Integer value1, Integer value2) {
            addCriterion("signal_strength between", value1, value2, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andSignalStrengthNotBetween(Integer value1, Integer value2) {
            addCriterion("signal_strength not between", value1, value2, "signalStrength");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeIsNull() {
            addCriterion("last_use_time is null");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeIsNotNull() {
            addCriterion("last_use_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeEqualTo(Date value) {
            addCriterion("last_use_time =", value, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeNotEqualTo(Date value) {
            addCriterion("last_use_time <>", value, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeGreaterThan(Date value) {
            addCriterion("last_use_time >", value, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_use_time >=", value, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeLessThan(Date value) {
            addCriterion("last_use_time <", value, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeLessThanOrEqualTo(Date value) {
            addCriterion("last_use_time <=", value, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeIn(List<Date> values) {
            addCriterion("last_use_time in", values, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeNotIn(List<Date> values) {
            addCriterion("last_use_time not in", values, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeBetween(Date value1, Date value2) {
            addCriterion("last_use_time between", value1, value2, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andLastUseTimeNotBetween(Date value1, Date value2) {
            addCriterion("last_use_time not between", value1, value2, "lastUseTime");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIsNull() {
            addCriterion("is_online is null");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIsNotNull() {
            addCriterion("is_online is not null");
            return (Criteria) this;
        }

        public Criteria andIsOnlineEqualTo(String value) {
            addCriterion("is_online =", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotEqualTo(String value) {
            addCriterion("is_online <>", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineGreaterThan(String value) {
            addCriterion("is_online >", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineGreaterThanOrEqualTo(String value) {
            addCriterion("is_online >=", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineLessThan(String value) {
            addCriterion("is_online <", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineLessThanOrEqualTo(String value) {
            addCriterion("is_online <=", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineLike(String value) {
            addCriterion("is_online like", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotLike(String value) {
            addCriterion("is_online not like", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIn(List<String> values) {
            addCriterion("is_online in", values, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotIn(List<String> values) {
            addCriterion("is_online not in", values, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineBetween(String value1, String value2) {
            addCriterion("is_online between", value1, value2, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotBetween(String value1, String value2) {
            addCriterion("is_online not between", value1, value2, "isOnline");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeIsNull() {
            addCriterion("online_time is null");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeIsNotNull() {
            addCriterion("online_time is not null");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeEqualTo(Date value) {
            addCriterion("online_time =", value, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeNotEqualTo(Date value) {
            addCriterion("online_time <>", value, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeGreaterThan(Date value) {
            addCriterion("online_time >", value, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("online_time >=", value, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeLessThan(Date value) {
            addCriterion("online_time <", value, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeLessThanOrEqualTo(Date value) {
            addCriterion("online_time <=", value, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeIn(List<Date> values) {
            addCriterion("online_time in", values, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeNotIn(List<Date> values) {
            addCriterion("online_time not in", values, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeBetween(Date value1, Date value2) {
            addCriterion("online_time between", value1, value2, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andOnlineTimeNotBetween(Date value1, Date value2) {
            addCriterion("online_time not between", value1, value2, "onlineTime");
            return (Criteria) this;
        }

        public Criteria andBoxStatusIsNull() {
            addCriterion("box_status is null");
            return (Criteria) this;
        }

        public Criteria andBoxStatusIsNotNull() {
            addCriterion("box_status is not null");
            return (Criteria) this;
        }

        public Criteria andBoxStatusEqualTo(String value) {
            addCriterion("box_status =", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusNotEqualTo(String value) {
            addCriterion("box_status <>", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusGreaterThan(String value) {
            addCriterion("box_status >", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusGreaterThanOrEqualTo(String value) {
            addCriterion("box_status >=", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusLessThan(String value) {
            addCriterion("box_status <", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusLessThanOrEqualTo(String value) {
            addCriterion("box_status <=", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusLike(String value) {
            addCriterion("box_status like", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusNotLike(String value) {
            addCriterion("box_status not like", value, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusIn(List<String> values) {
            addCriterion("box_status in", values, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusNotIn(List<String> values) {
            addCriterion("box_status not in", values, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusBetween(String value1, String value2) {
            addCriterion("box_status between", value1, value2, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andBoxStatusNotBetween(String value1, String value2) {
            addCriterion("box_status not between", value1, value2, "boxStatus");
            return (Criteria) this;
        }

        public Criteria andStoreIdIsNull() {
            addCriterion("store_id is null");
            return (Criteria) this;
        }

        public Criteria andStoreIdIsNotNull() {
            addCriterion("store_id is not null");
            return (Criteria) this;
        }

        public Criteria andStoreIdEqualTo(String value) {
            addCriterion("store_id =", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotEqualTo(String value) {
            addCriterion("store_id <>", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThan(String value) {
            addCriterion("store_id >", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThanOrEqualTo(String value) {
            addCriterion("store_id >=", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThan(String value) {
            addCriterion("store_id <", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThanOrEqualTo(String value) {
            addCriterion("store_id <=", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdLike(String value) {
            addCriterion("store_id like", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotLike(String value) {
            addCriterion("store_id not like", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdIn(List<String> values) {
            addCriterion("store_id in", values, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotIn(List<String> values) {
            addCriterion("store_id not in", values, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdBetween(String value1, String value2) {
            addCriterion("store_id between", value1, value2, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotBetween(String value1, String value2) {
            addCriterion("store_id not between", value1, value2, "storeId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andBuyPersonIsNull() {
            addCriterion("buy_person is null");
            return (Criteria) this;
        }

        public Criteria andBuyPersonIsNotNull() {
            addCriterion("buy_person is not null");
            return (Criteria) this;
        }

        public Criteria andBuyPersonEqualTo(String value) {
            addCriterion("buy_person =", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonNotEqualTo(String value) {
            addCriterion("buy_person <>", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonGreaterThan(String value) {
            addCriterion("buy_person >", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonGreaterThanOrEqualTo(String value) {
            addCriterion("buy_person >=", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonLessThan(String value) {
            addCriterion("buy_person <", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonLessThanOrEqualTo(String value) {
            addCriterion("buy_person <=", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonLike(String value) {
            addCriterion("buy_person like", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonNotLike(String value) {
            addCriterion("buy_person not like", value, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonIn(List<String> values) {
            addCriterion("buy_person in", values, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonNotIn(List<String> values) {
            addCriterion("buy_person not in", values, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonBetween(String value1, String value2) {
            addCriterion("buy_person between", value1, value2, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyPersonNotBetween(String value1, String value2) {
            addCriterion("buy_person not between", value1, value2, "buyPerson");
            return (Criteria) this;
        }

        public Criteria andBuyTimeIsNull() {
            addCriterion("buy_time is null");
            return (Criteria) this;
        }

        public Criteria andBuyTimeIsNotNull() {
            addCriterion("buy_time is not null");
            return (Criteria) this;
        }

        public Criteria andBuyTimeEqualTo(Date value) {
            addCriterion("buy_time =", value, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeNotEqualTo(Date value) {
            addCriterion("buy_time <>", value, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeGreaterThan(Date value) {
            addCriterion("buy_time >", value, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("buy_time >=", value, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeLessThan(Date value) {
            addCriterion("buy_time <", value, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeLessThanOrEqualTo(Date value) {
            addCriterion("buy_time <=", value, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeIn(List<Date> values) {
            addCriterion("buy_time in", values, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeNotIn(List<Date> values) {
            addCriterion("buy_time not in", values, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeBetween(Date value1, Date value2) {
            addCriterion("buy_time between", value1, value2, "buyTime");
            return (Criteria) this;
        }

        public Criteria andBuyTimeNotBetween(Date value1, Date value2) {
            addCriterion("buy_time not between", value1, value2, "buyTime");
            return (Criteria) this;
        }

        public Criteria andSystemApartIsNull() {
            addCriterion("system_apart is null");
            return (Criteria) this;
        }

        public Criteria andSystemApartIsNotNull() {
            addCriterion("system_apart is not null");
            return (Criteria) this;
        }

        public Criteria andSystemApartEqualTo(String value) {
            addCriterion("system_apart =", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartNotEqualTo(String value) {
            addCriterion("system_apart <>", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartGreaterThan(String value) {
            addCriterion("system_apart >", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartGreaterThanOrEqualTo(String value) {
            addCriterion("system_apart >=", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartLessThan(String value) {
            addCriterion("system_apart <", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartLessThanOrEqualTo(String value) {
            addCriterion("system_apart <=", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartLike(String value) {
            addCriterion("system_apart like", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartNotLike(String value) {
            addCriterion("system_apart not like", value, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartIn(List<String> values) {
            addCriterion("system_apart in", values, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartNotIn(List<String> values) {
            addCriterion("system_apart not in", values, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartBetween(String value1, String value2) {
            addCriterion("system_apart between", value1, value2, "systemApart");
            return (Criteria) this;
        }

        public Criteria andSystemApartNotBetween(String value1, String value2) {
            addCriterion("system_apart not between", value1, value2, "systemApart");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIsNull() {
            addCriterion("device_name is null");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIsNotNull() {
            addCriterion("device_name is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceNameEqualTo(String value) {
            addCriterion("device_name =", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotEqualTo(String value) {
            addCriterion("device_name <>", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameGreaterThan(String value) {
            addCriterion("device_name >", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameGreaterThanOrEqualTo(String value) {
            addCriterion("device_name >=", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLessThan(String value) {
            addCriterion("device_name <", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLessThanOrEqualTo(String value) {
            addCriterion("device_name <=", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLike(String value) {
            addCriterion("device_name like", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotLike(String value) {
            addCriterion("device_name not like", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIn(List<String> values) {
            addCriterion("device_name in", values, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotIn(List<String> values) {
            addCriterion("device_name not in", values, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameBetween(String value1, String value2) {
            addCriterion("device_name between", value1, value2, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotBetween(String value1, String value2) {
            addCriterion("device_name not between", value1, value2, "deviceName");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentIsNull() {
            addCriterion("general_agent is null");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentIsNotNull() {
            addCriterion("general_agent is not null");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentEqualTo(String value) {
            addCriterion("general_agent =", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentNotEqualTo(String value) {
            addCriterion("general_agent <>", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentGreaterThan(String value) {
            addCriterion("general_agent >", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentGreaterThanOrEqualTo(String value) {
            addCriterion("general_agent >=", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentLessThan(String value) {
            addCriterion("general_agent <", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentLessThanOrEqualTo(String value) {
            addCriterion("general_agent <=", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentLike(String value) {
            addCriterion("general_agent like", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentNotLike(String value) {
            addCriterion("general_agent not like", value, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentIn(List<String> values) {
            addCriterion("general_agent in", values, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentNotIn(List<String> values) {
            addCriterion("general_agent not in", values, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentBetween(String value1, String value2) {
            addCriterion("general_agent between", value1, value2, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andGeneralAgentNotBetween(String value1, String value2) {
            addCriterion("general_agent not between", value1, value2, "generalAgent");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberIsNull() {
            addCriterion("merchant_number is null");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberIsNotNull() {
            addCriterion("merchant_number is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberEqualTo(String value) {
            addCriterion("merchant_number =", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberNotEqualTo(String value) {
            addCriterion("merchant_number <>", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberGreaterThan(String value) {
            addCriterion("merchant_number >", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_number >=", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberLessThan(String value) {
            addCriterion("merchant_number <", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberLessThanOrEqualTo(String value) {
            addCriterion("merchant_number <=", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberLike(String value) {
            addCriterion("merchant_number like", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberNotLike(String value) {
            addCriterion("merchant_number not like", value, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberIn(List<String> values) {
            addCriterion("merchant_number in", values, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberNotIn(List<String> values) {
            addCriterion("merchant_number not in", values, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberBetween(String value1, String value2) {
            addCriterion("merchant_number between", value1, value2, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantNumberNotBetween(String value1, String value2) {
            addCriterion("merchant_number not between", value1, value2, "merchantNumber");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdIsNull() {
            addCriterion("organize_id is null");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdIsNotNull() {
            addCriterion("organize_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdEqualTo(String value) {
            addCriterion("organize_id =", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdNotEqualTo(String value) {
            addCriterion("organize_id <>", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdGreaterThan(String value) {
            addCriterion("organize_id >", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdGreaterThanOrEqualTo(String value) {
            addCriterion("organize_id >=", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdLessThan(String value) {
            addCriterion("organize_id <", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdLessThanOrEqualTo(String value) {
            addCriterion("organize_id <=", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdLike(String value) {
            addCriterion("organize_id like", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdNotLike(String value) {
            addCriterion("organize_id not like", value, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdIn(List<String> values) {
            addCriterion("organize_id in", values, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdNotIn(List<String> values) {
            addCriterion("organize_id not in", values, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdBetween(String value1, String value2) {
            addCriterion("organize_id between", value1, value2, "organizeId");
            return (Criteria) this;
        }

        public Criteria andOrganizeIdNotBetween(String value1, String value2) {
            addCriterion("organize_id not between", value1, value2, "organizeId");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeIsNull() {
            addCriterion("first_usetime is null");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeIsNotNull() {
            addCriterion("first_usetime is not null");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeEqualTo(Date value) {
            addCriterion("first_usetime =", value, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeNotEqualTo(Date value) {
            addCriterion("first_usetime <>", value, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeGreaterThan(Date value) {
            addCriterion("first_usetime >", value, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("first_usetime >=", value, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeLessThan(Date value) {
            addCriterion("first_usetime <", value, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeLessThanOrEqualTo(Date value) {
            addCriterion("first_usetime <=", value, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeIn(List<Date> values) {
            addCriterion("first_usetime in", values, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeNotIn(List<Date> values) {
            addCriterion("first_usetime not in", values, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeBetween(Date value1, Date value2) {
            addCriterion("first_usetime between", value1, value2, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andFirstUsetimeNotBetween(Date value1, Date value2) {
            addCriterion("first_usetime not between", value1, value2, "firstUsetime");
            return (Criteria) this;
        }

        public Criteria andQrCodeIsNull() {
            addCriterion("qr_code is null");
            return (Criteria) this;
        }

        public Criteria andQrCodeIsNotNull() {
            addCriterion("qr_code is not null");
            return (Criteria) this;
        }

        public Criteria andQrCodeEqualTo(String value) {
            addCriterion("qr_code =", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotEqualTo(String value) {
            addCriterion("qr_code <>", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeGreaterThan(String value) {
            addCriterion("qr_code >", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeGreaterThanOrEqualTo(String value) {
            addCriterion("qr_code >=", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeLessThan(String value) {
            addCriterion("qr_code <", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeLessThanOrEqualTo(String value) {
            addCriterion("qr_code <=", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeLike(String value) {
            addCriterion("qr_code like", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotLike(String value) {
            addCriterion("qr_code not like", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeIn(List<String> values) {
            addCriterion("qr_code in", values, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotIn(List<String> values) {
            addCriterion("qr_code not in", values, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeBetween(String value1, String value2) {
            addCriterion("qr_code between", value1, value2, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotBetween(String value1, String value2) {
            addCriterion("qr_code not between", value1, value2, "qrCode");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeIsNull() {
            addCriterion("third_opertype is null");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeIsNotNull() {
            addCriterion("third_opertype is not null");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeEqualTo(String value) {
            addCriterion("third_opertype =", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeNotEqualTo(String value) {
            addCriterion("third_opertype <>", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeGreaterThan(String value) {
            addCriterion("third_opertype >", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeGreaterThanOrEqualTo(String value) {
            addCriterion("third_opertype >=", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeLessThan(String value) {
            addCriterion("third_opertype <", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeLessThanOrEqualTo(String value) {
            addCriterion("third_opertype <=", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeLike(String value) {
            addCriterion("third_opertype like", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeNotLike(String value) {
            addCriterion("third_opertype not like", value, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeIn(List<String> values) {
            addCriterion("third_opertype in", values, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeNotIn(List<String> values) {
            addCriterion("third_opertype not in", values, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeBetween(String value1, String value2) {
            addCriterion("third_opertype between", value1, value2, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andThirdOpertypeNotBetween(String value1, String value2) {
            addCriterion("third_opertype not between", value1, value2, "thirdOpertype");
            return (Criteria) this;
        }

        public Criteria andOutUseIsNull() {
            addCriterion("OUT_USE is null");
            return (Criteria) this;
        }

        public Criteria andOutUseIsNotNull() {
            addCriterion("OUT_USE is not null");
            return (Criteria) this;
        }

        public Criteria andOutUseEqualTo(String value) {
            addCriterion("OUT_USE =", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseNotEqualTo(String value) {
            addCriterion("OUT_USE <>", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseGreaterThan(String value) {
            addCriterion("OUT_USE >", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseGreaterThanOrEqualTo(String value) {
            addCriterion("OUT_USE >=", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseLessThan(String value) {
            addCriterion("OUT_USE <", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseLessThanOrEqualTo(String value) {
            addCriterion("OUT_USE <=", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseLike(String value) {
            addCriterion("OUT_USE like", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseNotLike(String value) {
            addCriterion("OUT_USE not like", value, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseIn(List<String> values) {
            addCriterion("OUT_USE in", values, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseNotIn(List<String> values) {
            addCriterion("OUT_USE not in", values, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseBetween(String value1, String value2) {
            addCriterion("OUT_USE between", value1, value2, "outUse");
            return (Criteria) this;
        }

        public Criteria andOutUseNotBetween(String value1, String value2) {
            addCriterion("OUT_USE not between", value1, value2, "outUse");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}